package com.sunkq.redis;

import com.sunkq.redis.utils.JedisUtils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPubSub;

public class RedisMQ {

    public static void main(String[] args) throws InterruptedException {
        // 创建一个新线程作为消费者
        new Thread(() -> consumer()).start();
        // 暂停 0.5s 等待消费者初始化
        Thread.sleep(500);
        // 生产者发送消息
        producer();
    }

    /**
     * 消费者
     */
    public static void consumer() {
        Jedis jedis = new Jedis("192.168.1.120", 6379);
        // 接收并处理消息
        jedis.subscribe(new JedisPubSub() {
            @Override
            public void onMessage(String channel, String message) {
                // 接收消息，业务处理
                System.out.println("频道 " + channel + " 收到消息：" + message);
            }
        }, "channel");
    }

    /**
     * 生产者
     */
    public static void producer() {
        Jedis jedis = new Jedis("192.168.1.120", 6379);
        // 推送消息
        jedis.publish("channel", "Hello, channel.");
    }
}
